<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>react-demo-06</title>
  </head>
  <style lang="scss">
    .title {
      display: inline-flex;
      border: 1px solid blue;
      border-radius: 3px;
    }
  </style>
  <body>
    <!-- 准备容器 -->
    <div id="main"></div>

    <!-- 引入react核心库 -->
    <script
      type="text/javascript"
      src="https://cdn.bootcdn.net/ajax/libs/react/17.0.2/umd/react.development.js"
    ></script>
    <!-- 引入react-dom，用于操作dom -->
    <script
      type="text/javascript"
      src="https://cdn.bootcdn.net/ajax/libs/react-dom/17.0.2/umd/react-dom.development.js"
    ></script>
    <!-- 引入babel，用于编译jsx -->
    <script src="https://cdn.bootcdn.net/ajax/libs/babel-standalone/6.26.0/babel.min.js"></script>

    <!-- 此处一定要写babel，用于提示babel对该内容进行编译 -->
    <script type="text/babel">
      // 1. 创建函数式组件。
      // React 函数式组件需要首字母大写。
      function DemoComponent() {
        return <h2>我是用函数定义的组件，适用于 简单组件 的定义</h2>;
      }
      // 2. 渲染组件到页面。
      // 函数定义组件需要首字母大写，以<Demo />的方式引用。
      ReactDOM.render(<DemoComponent />, document.getElementById('main'));
      /**
       * 1. React 解析组件标签，找到DemoComponent组件。
       * 2. 发现组件是使用函数定义的，随后调用该函数，将返回的虚拟Dom转为真实Dom，随后呈现在页面中。
       **/
    </script>
  </body>
</html>
